package com.kakame.codenews.base.web.fast.mapping.common;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.kakame.codenews.base.web.annotation.TableMapping;
import com.kakame.codenews.base.web.annotation.ColumnMapping;

/**
 * 
 * @author 何家明  2018年08月02日 13:21:15
 */
@TableMapping("t_common_dict")
public class Dict implements Serializable {

    private static final long serialVersionUID = 1L;

    @ColumnMapping(column = "id")
    private String id;

    @ColumnMapping(column = "dict_grandpa_code")
    private String dictGrandpaCode;

    @ColumnMapping(column = "dict_parent_code")
    private String dictParentCode;

    @ColumnMapping(column = "dict_code")
    private String dictCode;

    @ColumnMapping(column = "dict_desc")
    private String dictDesc;

    @ColumnMapping(column = "dict_text")
    private String dictText;

    @ColumnMapping(column = "dict_value")
    private String dictValue;

    @ColumnMapping(column = "status")
    private String status;

    @ColumnMapping(column = "create_time")
    private Date createTime;

    @ColumnMapping(column = "create_user_id")
    private String createUserId;

    @ColumnMapping(column = "update_time")
    private Date updateTime;

    @ColumnMapping(column = "update_user_id")
    private String updateUserId;


    public Dict() {
    }
    public Dict(Builder builder) {
        this.id = builder.id;
        this.dictGrandpaCode = builder.dictGrandpaCode;
        this.dictParentCode = builder.dictParentCode;
        this.dictCode = builder.dictCode;
        this.dictDesc = builder.dictDesc;
        this.dictText = builder.dictText;
        this.dictValue = builder.dictValue;
        this.status = builder.status;
        this.createTime = builder.createTime;
        this.createUserId = builder.createUserId;
        this.updateTime = builder.updateTime;
        this.updateUserId = builder.updateUserId;
    }
	public static Builder create() {
		return new Builder();
	}

	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getId() {
		return id;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param id
	 */
    public void setId(String id) {
		this.id = id;
	}
	/**
	 * 祖父级
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getDictGrandpaCode() {
		return dictGrandpaCode;
	}
    /**
	 * 祖父级
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param dictGrandpaCode
	 */
    public void setDictGrandpaCode(String dictGrandpaCode) {
		this.dictGrandpaCode = dictGrandpaCode;
	}
	/**
	 * 字典父级代码
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getDictParentCode() {
		return dictParentCode;
	}
    /**
	 * 字典父级代码
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param dictParentCode
	 */
    public void setDictParentCode(String dictParentCode) {
		this.dictParentCode = dictParentCode;
	}
	/**
	 * 字典编码
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getDictCode() {
		return dictCode;
	}
    /**
	 * 字典编码
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param dictCode
	 */
    public void setDictCode(String dictCode) {
		this.dictCode = dictCode;
	}
	/**
	 * 字典描述
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getDictDesc() {
		return dictDesc;
	}
    /**
	 * 字典描述
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param dictDesc
	 */
    public void setDictDesc(String dictDesc) {
		this.dictDesc = dictDesc;
	}
	/**
	 * 字典显示值
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getDictText() {
		return dictText;
	}
    /**
	 * 字典显示值
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param dictText
	 */
    public void setDictText(String dictText) {
		this.dictText = dictText;
	}
	/**
	 * 字典实际值
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getDictValue() {
		return dictValue;
	}
    /**
	 * 字典实际值
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param dictValue
	 */
    public void setDictValue(String dictValue) {
		this.dictValue = dictValue;
	}
	/**
	 * 状态  C 正常 D 删除
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getStatus() {
		return status;
	}
    /**
	 * 状态  C 正常 D 删除
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param status
	 */
    public void setStatus(String status) {
		this.status = status;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public Date getCreateTime() {
		return createTime;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param createTime
	 */
    public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getCreateUserId() {
		return createUserId;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param createUserId
	 */
    public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public Date getUpdateTime() {
		return updateTime;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param updateTime
	 */
    public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getUpdateUserId() {
		return updateUserId;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param updateUserId
	 */
    public void setUpdateUserId(String updateUserId) {
		this.updateUserId = updateUserId;
	}

    @Override
	public String toString() {
		return "Dict [id=" + id + ", dictGrandpaCode=" + dictGrandpaCode + ", dictParentCode=" + dictParentCode + ", dictCode=" + dictCode + ", dictDesc=" + dictDesc + ", dictText=" + dictText + ", dictValue=" + dictValue + ", status=" + status + ", createTime=" + createTime + ", createUserId=" + createUserId + ", updateTime=" + updateTime + ", updateUserId=" + updateUserId + "]";
	}
    public static class Builder {
        private String id;
        private String dictGrandpaCode;
        private String dictParentCode;
        private String dictCode;
        private String dictDesc;
        private String dictText;
        private String dictValue;
        private String status;
        private Date createTime;
        private String createUserId;
        private Date updateTime;
        private String updateUserId;
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param id
	     */
        public Builder id(String id) {
	    	this.id = id;
	        return this;
    	}
        /**
	     * 祖父级
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param dictGrandpaCode
	     */
        public Builder dictGrandpaCode(String dictGrandpaCode) {
	    	this.dictGrandpaCode = dictGrandpaCode;
	        return this;
    	}
        /**
	     * 字典父级代码
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param dictParentCode
	     */
        public Builder dictParentCode(String dictParentCode) {
	    	this.dictParentCode = dictParentCode;
	        return this;
    	}
        /**
	     * 字典编码
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param dictCode
	     */
        public Builder dictCode(String dictCode) {
	    	this.dictCode = dictCode;
	        return this;
    	}
        /**
	     * 字典描述
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param dictDesc
	     */
        public Builder dictDesc(String dictDesc) {
	    	this.dictDesc = dictDesc;
	        return this;
    	}
        /**
	     * 字典显示值
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param dictText
	     */
        public Builder dictText(String dictText) {
	    	this.dictText = dictText;
	        return this;
    	}
        /**
	     * 字典实际值
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param dictValue
	     */
        public Builder dictValue(String dictValue) {
	    	this.dictValue = dictValue;
	        return this;
    	}
        /**
	     * 状态  C 正常 D 删除
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param status
	     */
        public Builder status(String status) {
	    	this.status = status;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param createTime
	     */
        public Builder createTime(Date createTime) {
	    	this.createTime = createTime;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param createUserId
	     */
        public Builder createUserId(String createUserId) {
	    	this.createUserId = createUserId;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param updateTime
	     */
        public Builder updateTime(Date updateTime) {
	    	this.updateTime = updateTime;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param updateUserId
	     */
        public Builder updateUserId(String updateUserId) {
	    	this.updateUserId = updateUserId;
	        return this;
    	}

        public Dict build() {
			return new Dict(this);
		}
	}



    // ******************* 扩展 *******************//

    private List<Dict> childList;


    public List<Dict> getChildList() {
        return childList;
    }
    public void setChildList(List<Dict> childList) {
        this.childList = childList;
    }
    
}
